﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MobMentality.GraphUtil
{
	public class GraphNode<T> : IEquatable<GraphNode<T>>
	{
		private T data;

		public GraphNode() { }
		public GraphNode(T value)
		{
			this.data = value;
		}

		public T Value
		{
			get
			{
				return data;
			}
			set
			{
				data = value;
			}
		}

		/*AStar variables*/
		public float GScore { get; set; }
		public float HScore { get; set; }
		public float FScore { get; set; }

		public bool Equals(GraphNode<T> other)
		{
			return other.Value.Equals(this.Value);
		}
	}
}
